﻿#ifndef GENERATER_H
#define GENERATER_H

#include <QString>
#include <QFile>
#include <QList>
#include "Performer.h"
#include "VPoint.h"

#include <QXmlStreamReader>

class GenerateR
{
public:
    GenerateR();
    ~GenerateR();

    QList<QString> getStageList();

    QList<Performer*> getStage(const QString &stage_file);
    /*
     * 参数1：const QString &stage_name
     * 读取&stage_name关卡的stage标签，获取该关卡的Performer指针类型的QList数据
     * 建议更名为getStageLabel
     */

private:
    Performer * getPerformer(const QString &performer_name);
    /*
     * 参数1：const QString &performer_name
     * 读取&performer_name的performer标签，获取该对象Performer对象指针数据
     * 建议更名为getPerformerLabel
     */

    VPoint getSite();
    /*
     * 读取site标签，获取坐标的VPoint类型数据
     * 建议更名为getSiteLabel
     */

    Shape getShape();
    /*
     * 读取shape标签，获取shape类型的图形数据
     * 建议更名为getShapeLabel
     */

    VPoint getVPoint();
    /*
     * 读取VPoint标签，获取VPoint类型的圆点数据
     * 建议更名为getVPointLabel
     */

    QXmlStreamReader reader;//xml读取流
};

#endif // GENERATER_H
